﻿/****************************************************************************
** file: HImageQImage.h
** brief: HImage 与 QImage 之间的转换函数。在 Qt 程序中使用 Halcon 时有用。
** Copyright (C) LiYuan
** Author: LiYuan
** E-Mail: 18069211#qq(.)com
** Version 0.0.1
** Last modified: 2019.06.09
** Modified By: LiYuan
****************************************************************************/

#ifndef HIMAGEQIMAGE_H
#define HIMAGEQIMAGE_H

#include <halconcpp/HalconCpp.h>
#include <QImage>

/**
 * @brief QImage2HImage 将 Qt QImage 转换为 Halcon 的 HImage
 * @param from 输入的 QImage
 * @param to 输出的 HImage ，from 和 to 不共享内存数据。 每次都会为 to 重新分配内存。
 * @return true 表示转换成功，false 表示转换失败。
 */
bool QImage2HImage(QImage &from, HalconCpp::HImage &to);

/**
 * @brief HImage2QImage 将 Halcon 的 HImage 转换为 Qt 的 QImage
 * @param from HImage ，暂时只支持 8bits 灰度图像和 8bits 的 3 通道彩色图像
 * @param to QImage ，这里 from 和 to 不共享内存。如果 to 的内存大小合适，那么就不用重新分配内存。所以可以加快速度。
 * @return  true 表示转换成功，false 表示转换失败
 */
bool HImage2QImage(HalconCpp::HImage &from, QImage &to);

#endif // HIMAGEQIMAGE_H
